Field
The present systems and methods generally relate to quantum processors.
Adiabatic Quantum Computation
Adiabatic quantum computation typically involves evolving a system from a known initial Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final Hamiltonian by gradually changing the Hamiltonian. A simple example of an adiabatic evolution is given by:He=(1−s)Hi+sHf where Hi is the initial Hamiltonian, Hf is the final Hamiltonian, He is the evolution or instantaneous Hamiltonian, and s is an evolution coefficient which controls the rate of evolution. As the system evolves, the evolution coefficient s goes from 0 to 1 such that at the beginning (i.e., s=0) the evolution Hamiltonian He is equal to the initial Hamiltonian Hi and at the end (i.e., s=1) the evolution Hamiltonian He is equal to the final Hamiltonian Hf. Before the evolution begins, the system is typically initialized in a ground state of the initial Hamiltonian Hi and the goal is to evolve the system in such a way that the system ends up in a ground state of the final Hamiltonian Hf at the end of the evolution. If the evolution is too fast, then the system can be excited to a higher energy state, such as the first excited state. In the present systems and devices, an “adiabatic” evolution is considered to be an evolution that satisfies the adiabatic condition:{dot over (s)}|1|dHe/ds|0|=δg2(s)where {dot over (s)} is the time derivative of s, g(s) is the difference in energy between the ground state and first excited state of the system (also referred to herein as the “gap size”) as a function of s, and δ is a coefficient much less than 1. Generally the initial Hamiltonian Hi and the final Hamiltonian Hf do not commute; that is, [Hi, Hf]≠0.
The evolution process in adiabatic quantum computing may sometimes be referred to as annealing. The rate that s changes, sometimes referred to as an evolution or annealing schedule, is normally slow enough that the system is always in the instantaneous ground state of the evolution Hamiltonian during the evolution, and transitions at anti-crossings (i.e., when the gap size is smallest) are avoided. Further details on adiabatic quantum computing systems, methods, and apparatus are described in, for example, U.S. Pat. Nos. 7,135,701 and 7,418,283.
Quantum Annealing
Quantum annealing is a computation method that may be used to find a low-energy state, typically preferably the ground state, of a system. Somewhat similar in concept to classical annealing, the method relies on the underlying principle that natural systems tend towards lower energy states because lower energy states are more stable. However, while classical annealing uses classical thermal fluctuations to guide a system to its global energy minimum, quantum annealing may use quantum effects, such as quantum tunneling, to reach a global energy minimum more accurately and/or more quickly than classical annealing. It is known that the solution to a hard problem, such as a combinatorial optimization problem, may be encoded in the ground state of a system Hamiltonian (e.g., the Hamiltonian of an Ising spin glass) and therefore quantum annealing may be used to find the solution to such a hard problem. Adiabatic quantum computation may be considered a special case of quantum annealing for which the system, ideally, begins and remains in its ground state throughout an adiabatic evolution. Thus, those of skill in the art will appreciate that quantum annealing systems and methods may generally be implemented on an adiabatic quantum computer. Throughout this specification and the appended claims, any reference to quantum annealing is intended to encompass adiabatic quantum computation unless the context requires otherwise.
Quantum annealing uses quantum mechanics as a source of disorder during the annealing process. The optimization problem is encoded in a Hamiltonian HP, and the algorithm introduces strong quantum fluctuations by adding a disordering Hamiltonian HD that does not commute with HP. An example case is:HE∝A(t)HD+B(t)HP,where A(t) and B(t) are time dependent envelope functions. For example, A(t) changes from a large value to substantially zero during the evolution and HE may be thought of as an evolution Hamiltonian similar to He described in the context of adiabatic quantum computation above. The disorder is slowly removed by removing HD (i.e., reducing A(t)). Thus, quantum annealing is similar to adiabatic quantum computation in that the system starts with an initial Hamiltonian and evolves through an evolution Hamiltonian to a final “problem” Hamiltonian HP whose ground state encodes a solution to the problem. If the evolution is slow enough, the system will typically settle in the global minimum (i.e., the exact solution), or in a local minimum close in energy to the exact solution. The performance of the computation may be assessed via the residual energy (difference from exact solution using the objective function) versus evolution time. The computation time is the time required to generate a residual energy below some acceptable threshold value. In quantum annealing, HP may encode an optimization problem and therefore HP may be diagonal in the subspace of the qubits that encode the solution, but the system does not necessarily stay in the ground state at all times. The energy landscape of HP may be crafted so that its global minimum is the answer to the problem to be solved, and low-lying local minima are good approximations.
The gradual reduction of disordering Hamiltonian HD (i.e., reducing A(t)) in quantum annealing may follow a defined schedule known as an annealing schedule. Unlike adiabatic quantum computation where the system begins and remains in its ground state throughout the evolution, in quantum annealing the system may not remain in its ground state throughout the entire annealing schedule. As such, quantum annealing may be implemented as a heuristic technique, where low-energy states with energy near that of the ground state may provide approximate solutions to the problem. The removal of the disordering Hamiltonian HD may occur after the same Hamiltonian has been added. That, is turn the disordering Hamiltonian HD on and then off.
Persistent Current
A superconducting flux qubit may comprise a loop of superconducting material (called a “qubit loop”) that is interrupted by at least one Josephson junction. Since the qubit loop is superconducting, it effectively has no electrical resistance. Thus, electrical current traveling in the qubit loop may experience no dissipation. If an electrical current is coupled into the qubit loop by, for example, a magnetic flux signal, this current may continue to circulate around the qubit loop even when the signal source is removed. The current may persist indefinitely until it is interfered with in some way or until the qubit loop is no longer superconducting (due to, for example, heating the qubit loop above its critical temperature). For the purposes of this specification, the term “persistent current” is used to describe an electrical current circulating in the qubit loop of a superconducting qubit. The sign and magnitude of a persistent current may be influenced by a variety of factors, including but not limited to a flux signal ΦX coupled directly into the qubit loop and a flux signal ΦCJJ coupled into a compound Josephson junction that interrupts the qubit loop.
Quantum Processor
A quantum processor is any computer processor that is designed to leverage at least one quantum mechanical phenomenon (such as superposition, entanglement, tunneling, etc.) in the processing of quantum information. Many different designs for quantum processor hardware exist, including but not limited to: photonic quantum processors, superconducting quantum processors, nuclear magnetic resonance quantum processors, ion-trap quantum processors, topological quantum processors, quantum dot quantum processors, etc. Regardless of the specific hardware implementation, all quantum processors encode and manipulate quantum information in quantum mechanical objects or devices called quantum bits, or “qubits”; all quantum processors employ structures or devices for communicating information between qubits; and all quantum processors employ structures or devices for reading out a state of at least one qubit. The physical form of the qubits depends on the hardware employed in the quantum processors; e.g., photonic quantum processors employ photon-based qubits, superconducting quantum processors employ superconducting qubits, and so on.
A quantum processor may be designed to operate in a variety of different ways. For example, a quantum processor may be designed as a general-purpose processor or as a special-purpose processor, and/or may be designed to perform gate/circuit-based algorithms or adiabatic/annealing-based algorithms. Exemplary systems and methods for quantum processors are described in, for example: U.S. Pat. Nos. 7,135,701, 7,418,283, 7,533,068, 7,619,437, 7,639,035, 7,898,282, 8,008,942, 8,190,548, 8,195,596, 8,283,943, and US Patent Application Publication 2011-0022820, each of which is incorporated herein by reference in its entirety.
The architecture of a quantum processor may be motivated by a desire to perform a specific type of task or algorithm. For example, a quantum processor may be designed specifically to perform Shor's Algorithm to factor composite integers, or to perform quantum annealing to optimize an objective function, or to simulate a quantum system, etc. The architecture of a quantum processor can therefore limit the diversity of tasks that can be performed by the quantum processor. There is a need in the art to apply quantum processor architectures to implement new and/or alternative algorithms.